The present invention relates to the field of networking, and more specifically, to the automatic configuration of a fiber optic link that couples two communication nodes.
Computer networks enable different systems to communicate with one another. Desirable figures of merit for computer networks include: 1) high bandwidth, 2) low costs associated with bringing up and maintaining a network and 3) backward compatibility of new equipment that is added to an existing network. Existing computer networks are constantly evolving. As the performance of systems that attach to and communicate over a computer network increase, there must be a corresponding improvement in the performance (e.g., bandwidth) of the network. Networks must not only improve in their performance, but also must improve in their ease of management. As network configurations become more complex, network administrators continue to require less and less time spent for each addition, removal, replacement and/or upgrade of their networking hardware or software. Furthermore, new hardware or software must be able to co-exist with the existing hardware and software. This maximizes the return on investment in the older equipment and software. As a result, network administrators place high demand on those new products that increase network performance and ease system management without making their existing hardware and software obsolete. Auto-Negotiation is a network function that enhances network bandwidth, reduces network maintenance costs and accounts for the desire of backward compatible equipment.
Auto-Negotiation is an additional layer within the physical layer of a network communication node. Auto-Negotiation for twisted-pair (copper wire) based Ethernet (xe2x80x9cBASE-Txe2x80x9d) has been defined in a standard promulgated by the Institute of Electrical and Electronic Engineers (IEEE), entitled xe2x80x9cPhysical Layer Link Signaling for 10 Mb/s and 100 Mb/s Auto-Negotiation on Twisted-Pairxe2x80x9d and referred to as IEEE Standard 802.3u, cl. 28. Briefly, Auto-Negotiation allows a network administrator to add a communication node to a network without having to configure the communication node as to the speed or complexity of the link that connects the node to the network. That is, the communication node itself has the intelligence to optimize itself to the network. Thus, the optimization process, referred to as xe2x80x9cnegotiationxe2x80x9d, is automatic. BASE-T Auto-Negotiation was developed to work within a star (as opposed to ring) topology.
Refer to FIG. 1a. Bus architectures such as BASE-T (as well as ring architectures), were originally designed and developed as shared media networks. That is, for a bus architecture 100 all communication nodes 101 were attached to the same transmission media (e.g., a copper wire bus) 102, or at least were electrically shorted to one another.
As network configurations evolved, the shared medium 102 was replaced by repeaters or hubs 103 shown in FIG. 1b. Within each repeater/hub 103 is a virtual shared media bus 108. Thus a xe2x80x9cbusxe2x80x9d medium may be either actually shared or virtually shared. Virtual shared media bus 108 is not an actual shared media. That is, there are various transceivers 109 on each port 107a-107d such that the links 104a-104d are no longer short circuited to one another.
Hubs are designed to intelligently manipulate and analyze packets that are received from and transmitted to systems 101a-101d on each link 104a-104d, while repeaters 103 simply resend the digital data received on one port 107a-107d to all other ports 107a-107d. The ensuing discussion refers to systems 101a-101d and hubs or repeaters 103. It must be understood that both systems 101a-101d and hubs/repeaters 103 are communication nodes. A communication node is any machine or device attached to a link. Usually there are two communication nodes per link. A link is usually a copper-based cable or a fiber optic cable.
Most local area networks (LANs) are currently implemented such that each system link 104a-104d is wired to a patch panel 105 within a wiring closet 106. The repeater or intelligent hub 103 is mounted within the wiring closet 106 and its ports 107a-107d are wired to the patch panel 105 such that each repeater/hub port 107a-107d has a direct link 104a-104d to each system 101a-101d. Over time, systems 101a-101d and repeaters/hubs 103 may be replaced by higher performance units (in order to meet the networking requirements of the improved systems). For the most part, system 101a-101d and repeater/hub 103 upgrades have been possible without replacing the installed cables 104a-104d. Thus the layout of FIG. 1b has allowed for relatively easy equipment upgrades while presenting the investment made in the installed cables.
In this sense, the emergence of repeaters/intelligent hubs 103 has resulted in the evolution of LANS away from their original actual shared media design point. Auto-Negotiation was originally designed to ease the effort associated with bringing up systems attached to a hub-based LAN. That is, Auto-Negotiation appeared sometime during or after the evolution away from actual shared media LANs. Auto-Negotiation allows a system, e.g., system 101a, and its specific hub port, e.g., port 107a, to automatically configure themselves according to their highest performing mode of operation.
As an example, when the network shown in FIG. 1b is brought up or when an older system is replaced by system 101a, system 101a will advertise its various modes of operation to the hub 103. The hub 103 will detect this advertisement, through port 107a, and respond with its own advertisement of possible modes of operation at port 107a. Together, the two systems can understand their common mode(s) of operation (as to copper wire link 104a), reject their uncommon modes and, if there is more than one common mode, resolve to a single mode of operation based upon a priority resolution function found within both the system 101a and the hub 103. The priority resolution function is designed to configure the system 101a and the hub 103 at port 107a such that they operate at their highest performing common mode on the copper wire link 104a. 
The process of advertisement, acknowledgment, response, etc. is generally referred to as negotiation. Such negotiation takes place between every system 101a-101d on the network that has Auto-Negotiation capability and its associated hub port 107a-107d. As a result, the mode of operation between each system is maximized to the highest performing common mode along each of copper wire links 104a-104d. Thus, if a first system 101a has a highest common mode, A, with its associated hub port 107a, the hub 103 and systems 101a will communicate with each other under mode A. If a different system 101b has another highest common mode, B, with its associated hub port 107b, system 101b will communicate with hub 103, along copper wire link 104b, under mode B.
A xe2x80x9cmodexe2x80x9d of operation is generally representative of the performance of the interconnection between two communication nodes. Under IEEE std. 802.3u, cl. 28, the modes of operation are prioritized according to the maximum data rate of each link. Within identical data rates, modes are prioritized according to the number of lines utilized (i.e., the link""s capacity). Thus, 100BASE-TX Full-Duplex is prioritized over 100BASE-TX Half-Duplex; 100BASE-TX Half-Duplex is prioritized over 10BASE-T Full-Duplex; and 10BASE-T Full-Duplex is prioritized over 10BASE-T Half-Duplex (see Annex 28B.3in IEEE std. 802.3u cl. 28). Under the BASE-T technologies, xe2x80x9c100xe2x80x9d and xe2x80x9c10xe2x80x9d correspond to 100 MB/s and 10 MB/s data rates, respectively. Different modes exist for a number of reasons. These include: 1) more advanced physical layer technologies continue to evolve (e.g., 10 MB/s to 100 MB/s) and 2) different markets exist for each unique mode. By always resolving to the highest common mode of operation on each link 104a-104d, the overall bandwidth of the network 100 is maximized. Thus Auto-Negotiation serves the first of the three aforementioned figures of merit: bandwidth.
The Auto-Negotiation function also reduces bring up and maintenance time. This is because the negotiation is automatic. That is, the network administrator does not have to individually configure each system 101a-101d or port 107a-107d such that it communicates at the highest possible operational mode. The Auto-Negotiation function is typically implemented in silicon (although some hardware units may be enhanced with software).
The Auto-Negotiation function is a physical layer function and therefore is expected to configure all the systems 101a-101d on the network 100 such that they communicate to the hub ports 107a-107d at their maximum common operational modes with minimal intervention by layers at or higher than the Media Independent Interface (MII) (see FIG. 28-2, IEEE std. 802.3u, cl.28).
FIG. 2 shows one example of the Auto-Negotiation function implemented in a network. Each hub link adapter card 207 is functionally equivalent to a port 107a-107d of FIG. 1b. A full duplex copper wire link 204 connects the hub adapter card 207 to the system adapter card 208. Each adapter card 207, 208 has an identical Auto-Negotiation unit 211 located one level up along the data path 210 from the media dependent interface (MDI) 209. Transceivers 214 are located on the other side of the MDI 209 than the Auto-Negotiation unit 211. Thus each link 204 has two identical Auto-Negotiation units 211, one for each adapter card 207, 208.
The aforementioned negotiation process is controlled by Auto-Negotiation units. That is, using the previous example, Auto-Negotiation unit 211 of adapter card 208 places advertisement packet 212 on the link 204. Auto-Negotiation unit 211 of adapter card 207 identifies and processes the advertisement packet 212. Auto-Negotiation unit 211 of adapter card 207 then responds with a corresponding advertisement packet 213. Auto-Negotiation unit 211 of adapter card 208 then identifies the hub advertisement packet 213. At this point both link partners (i.e., link adapter cards 207, 208) know each other""s capabilities.
Next, the two Auto-Negotiation units 211 execute identical priority resolution functions. Ideally, both resolve to the same mode. Once a common mode of operation is settled upon, both Auto-Negotiation units 211 report (typically through a register) to the higher levels in their respective communication nodes the settled upon mode of operation. Each communication node is then capable of addressing the link 204 according to that mode of operation. As this process is entirely automatic, the network administrator is saved the effort of having to determine each mode of operation for each link. Ideally, the administrator is also spared the effort of configuring each adapter card and/or communication node according to the proper mode of operation. Thus, Auto-Negotiation, by reducing bring up and maintenance costs associated with the addition of new systems to an existing network, serves the second of the three aforementioned figures of merit.
Finally, the Auto-Negotiation function recognizes that technology improvements (such as 10BASE-T Full Duplex over 10BASE-T and 100BASE-T over 10BASE-T Full Duplex) must be compatible with earlier/lower end generation equipment. That is, systems with enhanced operational modes generally possess the capability to communicate at operational modes having less performance than their most enhanced mode(s).
FIG. 3 shows the data that is encoded within an advertisement packet 300 sent by a system advertising its capabilities. This data is commonly known as a Link Code Word. Bits A0 through A7 indicate the possible specific operational modes along a link. Thus, for example, a new hub may be compatible with all BASE-T modes, while an older system may only have 10BASE-T capability. Thus the hub will advertise with bits A0 through A4 high while the older system will advertise with only bits A0 and A1 high. Generally, if these two systems were on the same link, they would communicate with one another over 10BASE-T Full Duplex (the highest common operational mode). In this manner, the Auto-Negotiation Function acknowledges that new systems must have downward compatibility with legacy systems and therefore serves the third figure of merit.
FIGS. 4a-4c show the timing associated with the advertisement packets (referred to as Fast Link Pulse or FLP) and the manner and timing in which advertisement packets are encoded. More specifically, FIG. 4a shows the FLP burst to FLP burst timing; FIG. 4b shows pulse-to-pulse timing within an FLP burst and FIG. 4c shows data bit encoding within an FLP burst. FIG. 4d is a table defining the various timing parameters shown in FIGS. 4a and 4b according to IEEE std. 802.3u cl. 28, secs 2.1.1.1-2. As shown, FLPs 401 must be sent every 8 to 24 ms and are approximately 2 ms wide. FLPs 401 consist of alternating clock positions 402 and data positions 403. The first bit in an FLP is always a clock pulse. By gathering the data bits consecutively, the Auto-Negotiation function is able to construct the Link Code Word.
Parallel detection is an additional requirement placed upon the Auto-Negotiation function. It is possible that an adapter card that has Auto-Negotiation capability may be on the same link as a link partner that does not have Auto-Negotiation capability. Under IEEE 802.3, cl. 28 sec 2.3.1, Auto-Negotiation devices are required to identify and communicate with devices that do not possess the Auto-Negotiation function.
FIG. 5 shows the architecture of the Auto-Negotiation function in greater detail. Auto-Negotiation sublayer 501 has three main sections: transmit logic 509, auto-negotiate logic 508 and receive logic 510. Physical Media Attachment (PMA) sublayer 502 is technology specific. That is, there is a unique PMA 502 for 100BASE-TX 503, 10BASE-T 504 and the Normal Link Pulse (NLP) PMA 505 (which is used for both 10BASE-T technologies). Thus an adapter card that supports those four BASE-T technologies will have three PMAs 503-505 (one for both 100BASE-T technologies and the NLP PMA).
One of the unique features of each technology specific PMA is its Link Integrity Test function 512. During the initial phase of link bring up, a device with Auto-Negotiation capability will transmit FLP bursts 506 to its link partner. If the link partner has Auto-Negotiation capability, the link partner will also transmit FLP bursts 513. FLP bursts 506 will be detected by the FLP Decode Logic 507, broken down into a Link Code Word and reported across channel 514 to the auto-negotiate logic 508. As discussed, the auto-negotiate logic 508 will execute the priority resolution function and eventually enable the PMA that corresponds to the settled upon technology. The auto-negotiate logic 508 then updates the Link Partner Ability Register 511 with Link Code Word information so that higher levels of the network can identify the technology employed on the link. At this point, the Auto-Negotiate function is essentially disabled. All received link data is simply passed directly up to higher layers and all transmit information is controlled by the technology specific PMA. The receive logic 510 still looks for FLP packets, however.
If, however, the link partner does not support Auto-Negotiation, that link partner will not transmit an FLP 506. This is because the administrator has to select and fix a single operational mode. Instead, the link partner will transmit a test signal 515, referred to as a Link Integrity Test sequence that is specific to the particular technology of the link partner. The receive unit 510 sends the incoming signal to each PMA 503-505 (simultaneous with its attempts to decode a non-existent FLP, as, at this point, the local device is unaware that the link partner does not have Auto-Negotiation capability). Each PMA 503-505, with its unique Link Integrity Test function 512, will analyze the incoming signal 515 and, ideally, only one PMA will favorably respond with a signal on bus 516 to the incoming integrity test sequence as belonging to that particular technology. This response is communicated to the auto-negotiate logic 508 (e.g., by the 100BASE-TX PMA 503).
At this point, the auto negotiate logic 508, having received a positive response from a Link Integrity Test and a failure by the receive logic 510 to detect an FLP, realizes that the link partner does not have Auto-Negotiation capability. The auto-negotiate logic 508 unit then disables (not shown) the PMAs that did not respond favorably to the incoming signal, does not engage in any priority resolution and updates the Link Partner Ability Register 511. The selected PMA forces the transmission of the Link Integrity Sequence specific to the technology of the PMA. Again, the Auto-Negotiate function is essentially disabled. All received link data is simply passed directly up to the single PMA and all transmit information is controlled by the same PMA. In this manner, the Auto-Negotiate function is able to recognize and allow the communication nodes to communicate with fink partners who do not have the Auto-Negotiate function.
The Auto-Negotiation function also has three other main components: the Remote Fault function, the Next Page function and the Management Function Requirements. Remote Fault is described in IEEE std. 802.3u, cl. 28, secs. 2.3.5. It is simply a bit that is set to logic high within the Link Code Word (see bit RF in LCW 300 of FIG. 3). The bit is enabled and transmitted in a Link Code Word to a remote link partner if the local link partner is experiencing any type of difficulty. This informs the remote link partner that the local device is down.
The Next Page function is described in IEEE std. 802.3u cl. 28 sec. 2.3.4 and is optional. The Next Page function uses the Link Code Word as a signaling tool. For example, if a link partner sends a Link Code Word with the Remote Fault bit high, the link partner may use the Next Page function to send additional information regarding the nature of the fault.
Finally, the Management Function Requirements are described in IEEE std. 802.3u cl. 28 sec. 2.4. Management Function Requirements are essentially a required list of registers that allow a higher level of either hardware, software or both to communicate with and recognize the status of the Auto-Negotiation unit.
As previously discussed, the wiring closet and patch panel approach shown in FIG. 1b helps preserve the investment made in installed copper wire networks. However, some systems (e.g., PCs) have surpassed 200 Mhz clock speeds. Furthermore, systems that operate above the 500 Mhz range are envisioned in the not too distant future. At these speeds, copper""s dependability as a physical transport medium is questionable; particularly in applications that require longer distance links (such as backbones that connect multiple networks across an entire campus). Fiber optic media has superior electromagnetic wave characteristics compared to copper (regarding both radiated EMI and signal loss) and, as a result, interest in replacing installed copper with fiber optic cables continues to grow each year.
Thus another LAN evolution is taking place. This evolution is at the transport medium. The evolution is away from copper and toward fiber optic cable. Consistent with this, standardization bodies have started to develop physical layer specifications that employ fiber optic media rather than copper. For example, the IEEE has outlined requirements for a 10 MB/s, 850 nm link (10BASE-FL), and a 100 MB/s, 1300 nm (100BASE-FX) link.
To date, however, no standardized Auto-Negotiation function for use across fiber optic media exists. It is not possible to use the copper-based Auto-Negotiation scheme defined in IEEE std. 802.3u, cl. 28 because of the characteristics of the signals used in FLP transmission.
FIG. 6a illustrates this problem and shows the front end of a receiver configured for use with fiber optic mediums. An incoming light signal 601 is focused upon a photodetector 602 which is reversed biased by DC voltage source 603. The reverse bias maximizes a depletion region in photodetector 602. Carriers, generated in the depletion region by photon absorption as a result of the incident light signal 601, become an input current 613 to a transimpedance amplifier 605. The transimpedance amplifier 605 not only amplifies the signal 613 but also limits the bandwidth of the channel so that high frequency noise is eliminated at the input of the threshold detector 612. AC coupling capacitor 604 is provided to isolate the input of the transimpedance amplifier 605 from the DC voltage 603 (otherwise the output of amplifier 605 will saturate). That is, capacitor 604 is essentially a high pass filterxe2x80x94it blocks DC signals but passes AC signals. However, if the sequence of current pulses 613 that represent logic highs or logic lows are not balanced (that is, the average voltage of the overall signal 613 over time is approximately xc2xd the logic high voltage level, severe signal distortion may result.
As an example refer to FIGS. 6b and 6c. FIG. 6b shows the Non Return to Zero (NRZ) encoded alternating clock and data pulse sequence that comprise an FLP. FIG. 6c shows the Non Return to Zero Inverse (NRZI) encoded signal of the signal in FIG. 6b (the 100BASE-F standard requires NRZI encoded signals on the fiber optic link media). If the capacitor 604 blocks the DC component of the signal in FIG. 6c, the signal will balance itself at the input of the amplifier 605 and threshold detector 612 such that the area beneath ground 610 is equal to the area above ground 611. The difference between the balanced level and xc2xd logic high is referred to as baseline wander. The pulses in FIG. 6c will have finite rise and fall times because of the high frequency cutoff of the transimpedance amplifier 605. The combination of finite rise and fall times and baseline wander at the input of threshold detector 612 results in the output of threshold detector 612 having unacceptable random jitter, data dependent jitter and duty cycle distortion. These distortions result in eye pattern closure and inaccurate clock recovery. An identical problem exists concerning the FLP burst to FLP burst timing shown in FIG. 4a. Thus the Auto-Negotiation signaling scheme outlined in IEEE 802.3u cl. 28, is inherently unacceptable for fiber optic applications.
What is desired therefore is an Auto-Negotiation scheme for fiber optic media that: 1) has a balanced or nearly balanced signal across the fiber optic media and 2) utilizes existing standards in areas unaffected by the unbalanced signaling problem.
The present invention is an architecture, design and scheme for an Auto-Negotiation capability located within a communication node that is attached to a fiber optic medium. In one embodiment, a communication node, having one or more operational modes and coupled to a network through a fiber optic medium, is configured to automatically select an optimum common operational mode between itself and a link partner. The link partner may also be configured to automatically select an optimum common operational mode.
Advertisement packets may be transmitted across the fiber optic medium by the communication node, in order to communicate its operational capabilities to the link partner. These operational capabilities may include 10BASE-FL and 100BASE-FL. Further still, 10 BASE-FL 1 MHz idles are transmitted between advertisement packets. Advertisement packets comprise clock and data pulses.
For one embodiment the communication node may be attached to a network having a bus architecture. Further still, a communication node may be configured to identify an idle signal.
In a further embodiment, the present invention provides a method which includes transmitting from a first communication node, over a fiber optic medium, a signal that indicates one or more operational modes of the first communication node and which allows automatic configuration of a second communication node to one of the operational modes in response thereto. The signal may be an advertising packet. Further, clock pulses, data pulses and transitions may each be transmitted within the advertising packet. Additionally, an idle signal may be transmitted across the fiber optic medium. In yet a further embodiment, the present invention provides a process of determining an optimum common operational mode of two communication nodes coupled by a fiber optic link, for example, by exercising a priority resolution function.